/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package redsocial.forms;

import java.math.BigDecimal;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import redSocial.entities.Perfil;
import redSocial.entities.Usuario;
import redSocial.sessions.PerfilFacadeRemote;
import redSocial.sessions.UsuarioFacadeRemote;

/**
 *
 * @author Curro
 */
@ManagedBean
@RequestScoped
public class RegisterBean {
    @EJB
    private PerfilFacadeRemote perfilFacade;
    @EJB
    private UsuarioFacadeRemote usuarioFacade;

    private String nombre;
    private String apellidos;
    private String email1;
    private String email2;
    private String fecha;
    private String sexo;
    private String mensaje;

    public String getApellidos() {
        return apellidos;
    }

    public void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }

    public String getEmail1() {
        return email1;
    }

    public void setEmail1(String email1) {
        this.email1 = email1;
    }

    public String getEmail2() {
        return email2;
    }

    public void setEmail2(String email2) {
        this.email2 = email2;
    }

    public String getFecha() {
        return fecha;
    }

    public void setFecha(String fecha) {
        this.fecha = fecha;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getSexo() {
        return sexo;
    }

    public String getMensaje() {
        return mensaje;
    }

    public void setMensaje(String mensaje) {
        this.mensaje = mensaje;
    }

    public void setSexo(String sexo) {
        this.sexo = sexo;
    }
    

    /** Creates a new instance of RegisterBean */
    public RegisterBean() {
    }

    public String doRegister () {
        if(nombre.equals("") || apellidos.equals("") || email1.equals("") || email2.equals("") || fecha.equals("")){
            mensaje="Debe rellenar el formulario de registro completo";
        }
        else if(!email1.equals(email2))
        {
            mensaje="Los emails son diferentes";
        }
        else{
            //Construccion del nuevo usuario
            Integer PK = Integer.parseInt(usuarioFacade.findPK().toString())+1;
            Usuario nuevoUsuario = new Usuario();
            nuevoUsuario.setEmail(email1);
            nuevoUsuario.setCodigoValidacion("hola");
            nuevoUsuario.setEstado("inactiva");
            nuevoUsuario.setIdUsuario(new BigDecimal(PK));

            //Construccion datos perfil nuevo usuario
            Perfil nuevoPerfil = new Perfil();
            nuevoPerfil.setNombre(nombre);
            nuevoPerfil.setApellidos(apellidos);
            //Problema con fechas.... nuevoPerfil.setFechaNacimiento(fecha);
            nuevoPerfil.setSexo(sexo);

            //Insercion datos
            usuarioFacade.create(nuevoUsuario);
            perfilFacade.create(nuevoPerfil);

            mensaje="Se ha registrado correctamente. Para completar el proceso confirme el registro \n mediante el email que se le ha enviado a su correo";
            
        }
        return "index";
    }

}
